

package cn.shengchao.examstar.distribute.infrastrure.mapper;

import cn.shengchao.examstar.distribute.infrastrure.po.DistributeUserInvite;
import cn.shengchao.examstar.rpc.distribute.dto.UserInviteDto;
import cn.shengchao.examstar.rpc.uddsys.req.DistributeUserInvitePageQuery;
import cn.shengchao.examstar.rpc.uddsys.resp.DistributeUserInviteVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

@Mapper
public interface DistributeUserInviteMapper extends BaseMapper<DistributeUserInvite> {

    List<UserInviteDto> selectUserInviteRecordsForUsers(@Param("userIds") List<Long> userIds);

    List<DistributeUserInviteVo> queryDistributeUserInvitePage(@Param("query")DistributeUserInvitePageQuery distributeUserInvitePageQuery);

    List<DistributeUserInvite> selectInviteRecordListByDistributeUserIdsAndRole(@Param("userIds") List<Long> userIds, @Param("distributeRoleCode")String distributeRoleCode, @Param("dateStart")Date start, @Param("dateEnd") Date end);
}